1
レッスン7:Pythonモジュールの紹介
EvoClass-AI001Lecture 7
00:00

Pythonモジュールの紹介

Pythonでは、モジュールは、拡張子が.pyというファイルであり、再利用可能なコードコンポーネント(関数、クラス、変数)を格納するための容器です。モジュールは大規模なプログラム構造の基盤であり、論理的に定義を分離することで、開発者が複雑さを管理し、コードの保守性を向上させることができます。このプロセスは、数学的概念が特定の領域(例:$f(x)$ は特定の定義域 $D$ で定義される)に分類されるのと似ています。

1. モジュールの目的

モジュールは開発における3つの重要なニーズに対応します:

  • 再利用の促進コード再利用異なるプロジェクト間で定義を書き直すことなく、コードを再利用できるようにすること。
  • 大きなプログラムを扱いやすく、関連性のあるファイルに分割することで、明確さと整理された構成を確保すること。
  • 名前衝突の防止名前衝突関数や変数に対して別々の名前空間を定義することで、名前衝突を防ぐこと。

概念的な例:

「utility.py」という名前のファイルがあると想像してください。このファイルには数学的な計算用の関数が含まれています。このファイル全体がモジュールであり、その関数がアクセス可能な内容です。 utility.pymath結果を計算するための関数を含んでいます。このファイル全体がモジュールであり、これらの関数がそのアクセス可能なコンテンツです。

2. インポートの方法

Pythonのimportステートメントにより、外部の定義を現在のスクリプトで利用可能になります。選択した方法によって、コンポーネントへのアクセス方法および現在のプログラムの名前空間への影響が決まります。

  • 標準インポート:importmodule_name。コンテンツへのアクセスにはmodule_name.function()が必要です。
  • 選択的インポート:frommoduleimportfunction。直接function()モジュールプレフィックスなしで使用できます。
  • エイリアス付きインポート:importmoduleasalias。便利のために、より短く、プロジェクト固有のニックネームを提供します(例:import numpy as np)。
標準ライブラリの活用
Pythonには、幅広い組み込みモジュール(例:'os'、'sys'、'random'、'math')を備えた非常に充実した標準ライブラリが含まれています。これらの再利用可能なモジュールを活用する方法を学ぶことは、効率的な開発に不可欠であり、大幅な時間節約につながります。
Question 1
If you use import math, how must you call the sqrt function to calculate $\sqrt{25}$?
sqrt(25)
math.sqrt(25)
math::sqrt(25)
use math sqrt
Question 2
Which benefit of using modules addresses the issue of having multiple functions named process_data in a large application?
Code execution speed
Preventing Naming Collisions
Automatic debugging
Question 3
What happens to a module file the second time you attempt to import it in the same running program?
It is imported again, executing all top-level code.
The import fails with an error.
Python recognizes it is already loaded and skips execution.
Only variables are reloaded.